/**
 * 
 */
package com.td.framework.webmanager.qxygns.dao;

import java.util.List;

import com.td.framework.webmanager.domain.AppsysQxygns;

/**
 * 
 * Title:权限与功能树数据层接口 Description: 处理权限与功能树信息 Copyright: Copyright (c) 2008
 * Company 北京水软科技有限公司
 * 
* @author FLT006
 * @version 1.0
 */
public interface QxygnsDao {
	/**
	 * @toDo:通过上级页面编号查询权限与功能树信息;
	 * @param pageSize,startRow
	 * @return qxygnsList;
	 */
	@SuppressWarnings("unchecked")
	public List findBySjbh(int pageSize, int startRow) ;
		/**
	 * @toDo:得到总记录数;
	 * @return rows;
	 */
	public int getRows();

	/**
	 * @toDo 生成系统树;
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List getTreeList();
	/**
	 * @toDo:生成权限树;
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List getXmlTreeList();
	/**
	 * @toDo:通过页面编号查询权限与功能树对象;
	 * @param ymbh
	 * @return qxygns;
	 */
	public AppsysQxygns findByYmbh(String ymbh);
	/**
	 * @toDo:生成与权限结合的功能树;
	 * @param yhzbh,flag
	 * @param type 0 已授权,1 未授权
	 * @return list
	 */
	@SuppressWarnings("unchecked")
	public List getRightTreeList(String yhzbh, Long flag, int type);
	/**
	 * @toDo:通过页面编号生成功能树
	 * @param ymbhs
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List getRightTreeList(String[] ymbhs);
	/**
	 * @toDo:验证用户类型;
	 * @param yhbh
	 * @return flag
	 */
	@SuppressWarnings("unchecked")
	public boolean checkYhlx(String yhbh);
	/**
	 * @toDo:用户登录成功左边菜单树;
	 * @param yhbh
	 * @return list
	 */
	@SuppressWarnings("unchecked")
	public List getMainTreeList(String yhbh,String sjbh,boolean flag);
	/**
	 * @toDo:
	 * @param yhbh
	 * @return
	 */
	public List getMainTreeList(String yhbh);
	/**
	 * @toDo:保存权限与功能树信息;
	 * @param appsysQxygns
	 * @param gnbhs 
	 * @return boolean;
	 */
	public boolean addAppsysQxygns(AppsysQxygns appsysQxygns, String[] gnbhs);

	/**
	 * @toDo:更新权限与功能树信息;
	 * @param appsysQxygns
	 * @param gnbhs 
	 * @return boolean;
	 */
	public boolean updateAppsysQxygns(AppsysQxygns appsysQxygns,String[] gnbhs);

	/**
	 * @toDo:删除权限与功能树信息,支持批量删除;
	 * @param ymbhs
	 * @return boolean;
	 */
	public boolean deleteAppsysQxygns(String[] ymbhs);
	/**
	 * @toDo:验证页面名称是否存在;
	 * @param ymmc
	 * @param ymbh
	 * @param sjbh
	 * @return boolean;
	 */
	@SuppressWarnings("unchecked")
	public boolean checkQxygns(String ymmc,String ymbh,String sjbh);
    /**
     * toDo:功能树初始化
     * @param ymbhs
     */
    @SuppressWarnings("unchecked")
	public String initGns(String ymbhs);
	/**
	 * toDo:权限与功能树排序;
	 * @param ymbh
	 * @param pxh
	 * @return flag;
	 */
	public boolean orderQxygns(String[] ymbh,String[] pxh) ;
	/**
	 * @toDo:getSql语句
	 * @return sql
	 */
	public String getSql() ;
	/**
	 * @toDo:setSql语句
	 * @param sjbh
	 * @param ymmc
	 */
	public void setSql(String sjbh, String ymmc);
	
	/**
	 *得到首页的主要大功能菜单 
	 *@return 首页大功能
	 */
	public List getMainFunc(String yhbh);
}
